<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ES6标准</title>
</head>
<body>
    <h2>数值的扩展</h2>
    <script>
        //整数的进制的输出
        console.log(10); //输出⼗进制数的值
        console.log(0b10); //输出⼆进制数10的值
        console.log(0o10); //输出⼋进制数10的值
        console.log(0x10); //输出⼗六进制数10的值
        //⼗进制转换其他进制
        var x = 110;
        console.log("0b"+x.toString(2));//转为2进制
        console.log("0o"+x.toString(8))//转为8进制
        console.log("0X"+x.toString(16));//转为16进制
        //其他进制转⼗进制
        var x = "110"//这是⼀个⼆进制的字符串表示
        console.log(Number.parseInt(x, 2));//把这个字符串当做⼆进制， 转为⼗进制
        var x = "70"//这是⼀个⼋进制的字符串表示
        console.log(Number.parseInt(x, 8));//把这个字符串当做⼋进制， 转为⼗进制
        var x = "ff"//这是⼀个⼗六进制的字符串表示
        console.log(Number.parseInt(x, 16));//把这个字符串当做⼗六进制， 转为⼗进制

        console.log("=".repeat(50));

        //注意，如果参数类型不是数值，Number.isFinite一律返回false。
        console.log(Number.isFinite(15)); // true
        console.log(Number.isFinite(0.8)); // true
        console.log(Number.isFinite(NaN)); // false
        console.log(Number.isFinite(Infinity)); // false
        console.log(Number.isFinite(-Infinity)); // false
        console.log(Number.isFinite('foo')); // false
        console.log(Number.isFinite('15')); // false
        console.log(Number.isFinite(true)); // false
        
        console.log("-".repeat(50));
        //如果参数类型不是NaN，Number.isNaN一律返回false。
        console.log(Number.isNaN(NaN)); // true
        console.log(Number.isNaN(15)); // false
        console.log(Number.isNaN('15')); // false
        console.log(Number.isNaN(true)); // false
        console.log(Number.isNaN(9/NaN)); // true
        console.log(Number.isNaN('true' / 0)); // true
        console.log(Number.isNaN('true' / 'true')); // true


        console.log("=".repeat(50));
        // ES5的写法
        console.log(parseInt('12.34')); // 12
        console.log(parseFloat('123.45#')); // 123.45
        // ES6的写法
        console.log(Number.parseInt('12.34')); // 12
        console.log(Number.parseFloat('123.45#')); // 123.45
        //判断一个数值是否为整数
        console.log(Number.isInteger(25)); // true
        console.log(Number.isInteger(25.1)); // false
    </script>
</body>
</html>